1. Field of the Invention
The present invention relates to lossless compression of continuous tone images. More particularly, the invention provides a method of compressing a digital continuous tone image of pixels situated on scan lines, each pixel having a pixel value defined by at least one color channel value, a color channel value having B bits of precision (B>1). It is to be understood that a color channel may also comprise a single black-and-white channel.
The invention also relates to a computer program product for performing the method when run on a computer and an apparatus, in particular a print controller, in which the method is implemented.
Finally, the invention relates to a method for decompressing image data that have been compressed with the present invention.
2. Description of Background Art
Pages sent to a printer are in general defined in a page description language (PDL). An example of a PDL is PostScript from Adobe Systems Inc. A PDL interpreter that runs on a computer interprets the PDL, resulting in a digital page image for each page to be printed. The page images can be in a form that can be directly passed to a print engine or they can be stored in the form of digital continuous tone images that may be further processed before they are passed to a print engine. The latter approach can be used for example when special image processing is needed, that is not available in the PDL interpreter, e.g. to convert the continuous tone image to a format that can be accepted by the print engine.
For color printers that use the latter approach, the continuous tone image has to be stored and possibly transmitted to image processing hardware. However the amount of data for a continuous tone image can be very large, e.g. for a 600 dpi continuous tone (8 bits per color channel) CMYK image of A4 size, about 140 Mbytes is needed. This means that it takes a relatively large amount of storage to store the image and that it takes a relatively long amount of time to transport it. A general solution to this problem is to compress the continuous tone image.
For example, FIG. 11 shows a schematic of a print controller, also known as a “Raster Image Processor” (RIP) or “color server”. The print controller interprets print jobs (e.g. defined in PostScript), stores the page images on disk and transfers them from there to the printer engine when required.
The color print controller contains a PDL interpreter 112 that interprets the incoming print job and converts it to uncompressed continuous tone color page images. Directly after generating the page images, they are compressed by the compressor 114 of the present invention. The resulting compressed page images are stored on a harddisk 116 which forms the page store. When the engine needs to print the job, the compressed page images are read from the harddisk and transferred to the engine through a printer interface cable 118 (e.g. Firewire).
FIG. 12 shows a printer connected to the print controller of FIG. 11 through the printer interface cable 118.
The compressed page images from the print controller are received in a buffer 122. From there, the compressed image data is passed to the decompressor 124 that converts the compressed page image to an uncompressed image. The uncompressed image is passed through the image processing module 126 to convert it to engine specific bitmaps that are used to drive the printer engine 128.
The fact that the image data is compressed directly after the PDL interpreter, saves bandwidth in the transfer of the images to and from the harddisk, allowing a slower disk to be used than would be needed for uncompressed data. It also allows for a smaller disk. Also, the bandwidth needed to transfer the images over the printer interface cable is reduced, so an interface with less available bandwidth can be used.
Various lossless image compression techniques are available for compression of continuous tone images, for instance JPEG-LS.
JPEG-LS is based on HP's LOCO-I algorithm and has been selected by the ISO/ITU-T as a standard for lossless compression of continuous tone images. A description of the algorithm is given in: M. Weinberger, G. Seroussi, G. Saipiro, “LOCO-I: A Low Complexity, Context-Based, Lossless Image Compression Algorithm”, available on www.hpl.hp.com/loco/HPL-98-193R1.pdf
However, the compression techniques that provide a reasonable amount of compression take considerably more time to compress an image than it takes for the PDL interpreter to generate the same image when executed on the same computer. This implies that if such a compression method would be used to compress the page images, the performance of the printer would drop to unacceptable levels.
Existing techniques that are fast enough (e.g. simple 1-dimensional run-length compression) do not provide enough compression on average.